package pl.uz.zgora.plan;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import android.app.Dialog;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class WeekViewActivity extends TabActivity {
	
	public void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.week_view);
	    
	    final Resources res = getResources();
	    TabHost tabHost = getTabHost();  // The activity TabHost
	    
	    final PlanUzDataSource planDataSource = new PlanUzDataSource(this);
	    
	    Set<String> dni = new HashSet<String>();
	    
	    final ArrayList<Przedmiot> przedmioty = planDataSource.readPrzedmioty(null);
	    for(Przedmiot przedmiot : przedmioty ) {
	    	dni.add(przedmiot.getDzien());
	    }
	    
	    if(przedmioty.isEmpty()) {
	    	Dialog dialog = HelperMethodsManager.getErrorDialog(this, "Plan zajęć jest pusty.\n" +
	    			"Prawdopodobnie w wyniku zakończenia semestru.\n" +
	    			"Jeżeli semestr wciąż trwa, proszę o zgłoszenie błędu na stronie programu.", this);
	    	dialog.show();
	    }
	    
	    final String[] dniSorted = new String[7];
	    
	    Iterator<String> iterator = dni.iterator();
	    
	    while(iterator.hasNext()) {
	    	String day = iterator.next();
	    	if(day.equals("Poniedziałek")) {
	    		dniSorted[0] =  day;
	    		continue;
	    	}
	    	
	    	if(day.equals("Wtorek")) {
	    		dniSorted[1] =  day;
	    		continue;
	    	}
	    	
	    	if(day.equals("Środa")) {
	    		dniSorted[2] =  day;
	    		continue;
	    	}
	    	
	    	if(day.equals("Czwartek")) {
	    		dniSorted[3] =  day;
	    		continue;
	    	}
	    	
	    	if(day.equals("Piątek")) {
	    		dniSorted[4] =  day;
	    		continue;
	    	}
	    	
	    	if(day.equals("Sobota")) {
	    		dniSorted[5] =  day;
	    		continue;
	    	}
	    	
	    	if(day.equals("Niedziela")) {
	    		dniSorted[6] =  day;
	    		continue;
	    	}
	    }
	    
	    for(int i = 0; i < 7; i++) {
	    	if(dniSorted[i] != null) {
			    
			    // Create an Intent to launch an Activity for the tab (to be reused)
			    Intent intent = new Intent(this, TimeTableActivity.class);
			    intent.putExtra("day", dniSorted[i]);
			    intent.putExtra("weekview", true);
			    tabHost.addTab(tabHost.newTabSpec(dniSorted[i]
			    		.toLowerCase()).
			    		setIndicator(dniSorted[i], res.getDrawable(R.drawable.oneday)).
			    		setContent(intent));
	    	}
	    }

	    tabHost.setCurrentTab(0);
	}
}
